package ThreadAndLambda.LambdaTest;
//使用lambda表达式排序

import java.util.Arrays;
import java.util.Comparator;

public class PersonTest {
    public static void main(String[] args) {


        //使用数组存储多个person对象
        Person[] arr = {
                new Person("小明", 20),
                new Person("小红", 17),
                new Person("小王", 38),
        };

        //对数组中的元素按照age属性进行从小到达的排序并输出
        Arrays.sort(arr, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                return o1.getAge() - o2.getAge();
            }
        });

        //增强for遍历数组
        for (Person person : arr) {
            System.out.println(person);
        }
        System.out.println("--------------");
        //for循环遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        System.out.println("--------------");
        System.out.println("使用lambda表达式排序");


        //使用lambda表达式排序
        Arrays.sort(arr, (Person o1, Person o2) -> {
            return o2.getAge() - o1.getAge();
        });
        //增强for遍历数组
        for (Person person : arr) {
            System.out.println(person);
        }
        System.out.println("--------------");
    }
}